第一节:初识多线程 1.为什么要学习多线程编程? 多线程(多个线程同时运行)编程,亦可称之为异步编程。 有了多 ...
第一节:初识多线程 1.为什么要学习多线程编程? 多线程(多个线程同时运行)编程,亦可称之为异步编程。 有了多 ...
delphi 自带的Timer控件,使用方便,但它的 OnTimer 事件是在主线程中引发的。 如果在事件中执行较耗时的代码,会引起主界面假死。故实现一个线程的Timer就有必要了。 TThrea ...
第二节:在线程时空中操作界面(UI) 1.为什么要用 TThread ? TThread 基于操作系统的线程函数封装, ...
当软件启动时,我们希望从配置文件中加载参数,然后用这些参数,改变窗口的状态大小,或者组件的属性。 通常的做法是在 TForm 的 OnCreate 事件中或者 OnFirstShow 事件中执行这些 ...
第五节:多个线程同时执行相同的任务 1.锁 设,有一个房间 X ,X为全局变量,它有两个函数 X.Lock 与 X.UnLock; 有如下代码: ...
第三节:设计一个有生命力的工作线程 创建一个线程,用完即扔。相信很多初学者都曾这样使用过。 频繁创建释放线程,会浪费大量资源的,不科学。 ...
1. TSimpleThread 2. TSimpleList 3. 以1,2构成 TSimplePool 用法 先定义: TDoSomeThingThread=class(TSimpl ...
经过多年的打磨,用一种简洁通用的写法来实现多线程任务,以此来给线程教程一个大结局。 用LIST来实现简洁功能的线程池,希望给大家一些帮助! 源码下载 ...
对线程的使用,是每个开发者都应该熟练掌握的,也是进阶的重要一环。 可以这样说,没有线程,连界面假死的问题都解决不了,就更别谈并行处理来提高效率了。 本例对线程进行改进,打造一个基础的线程,以后线程 ...
第四节:多线程类的改进 1.需要改进的地方 a) 让线程类结束时不自动释放,以便符合 delphi 的用法。即 FreeOnTerminate:=false ...